package com.voodoo.lib_http;

import java.io.File;

/**
 * Author: voodoo
 * CreateDate: 2021/05/29
 * Description: 下载文件监听
 */
public interface DownloadListener {

    /**
     * 开始下载
     *
     * @param url 文件下载地址
     * @param id  请求id
     */
    void onDownloadStart(String url, int id);

    /**
     * 下载中...
     *
     * @param url      文件下载地址
     * @param progress 当前下载进度
     * @param total    文件总大小
     * @param id       请求id
     */
    void onDownloading(String url, long progress, long total, int id);

    /**
     * 下载完成
     *
     * @param url 文件下载地址
     * @param id  请求id
     */
    void onDownloadComplete(String url, int id);

    /**
     * 下载成功
     *
     * @param url          文件下载地址
     * @param downloadFile 下载的File文件
     * @param id           请求id
     */
    void onDownloadSuccess(String url, File downloadFile, int id);

    /**
     * 下载失败
     *
     * @param url      文件下载地址
     * @param errorMsg 失败提示信息
     * @param id       请求id
     */
    void onDownloadFail(String url, String errorMsg, int id);

}
